<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        
    </style>
</head>
<body>
    
</body>
<script>
    
    // - 有电话：创建载体
    const abc = new XMLHttpRequest();
    // - 拨号：设置请求方式，请求地址，设置同异步
    abc.open("get", "http://localhost:3000/getUser?username=admin&password=112312", true);
    // - 等待接通或不通：监听状态变化（事件）
    // abc.onreadystatechange = function(){
    //     if(abc.readyState === 4 && abc.status === 200){
    //         console.log(JSON.parse(abc.responseText));
    //     }
    // }
    abc.onload = function(){
        if(abc.status === 200){
            console.log(JSON.parse(abc.responseText));
        }
    }
    // - 说话：发送请求
    abc.send();

    // 载体的状态readyState（ajax自身的状态）：
    // 0：还没执行send
    // 1：刚执行send
    // 2：接收到后端响应
    // 3：开始解析接收到的响应数据
    // 4：解析完成

    // http的状态（运营商的状态）
    // 1xx: 未完成
    // 2xx: 已完成
        // 200：已完成
    // 3xx: 出现错误导致未完成
        // 304：本次请求使用了缓存，没有从服务器获取
    // 4xx: 包含一个错误
        // 401：权限失效
        // 404：请求地址错误（空号）
    // 5xx: 服务器报错

</script>
</html>